// pages/registerAndLogin/registerAndLogin.ts
var userInfo=getApp().globalData.userInfo;
var accountData=getApp().globalData.accountData;
var apiUrl=getApp().globalData.apiUrl;
var app=getApp();
Page({
  /**
   * 页面的初始数据
   */
  data: {
    accountData:{
      accountNumber:"",
      password:""
    },
    password_temp:"",
    noHasThisAccount:true,
    access:false,
    register:false,
    textStyle_1:{
      fontSize:"70rpx",
      color:"#FF7400"
    },
    textStyle_2:{
      fontSize:"48rpx",
      color:"#fcd588"
    },
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    wx.setNavigationBarTitle({
      title: '悦食生活-登录/注册',
    })
  },
  backToLogin(){

    this.setData({
      register:false,
    })
    if(!this.data.register){
      this.setData({
        textStyle_1:{
          fontSize:"70rpx",
          color:"#FF7400"
        },
        textStyle_2:{
          fontSize:"48rpx",
          color:"#fcd588"
        }
      })
    }
  },
  goToRegister(){
    this.setData({
      register:true,
    })
    if(this.data.register){
      this.setData({
        textStyle_1:{
          fontSize:"48rpx",
          color:"#fcd588"
        },
        textStyle_2:{
          fontSize:"70rpx",
          color:"#FF7400"
        }
      })
    }
  },
  inputAccountNumber(res){
    this.setData({
      accountData:{
        accountNumber:res.detail.value,
        password:this.data.accountData.password
      }
    })
  },
  inputPassword(res){
    this.setData({
      accountData:{
        accountNumber:this.data.accountData.accountNumber,
        password:res.detail.value
      }
    })
  },
  inputTempPassword(res){
    this.setData({
      password_temp:res.detail.value
    })
  },
  
  /** 
  * 按下完成按钮
  */
  finishEntry(){
    if(this.data.accountData.accountNumber==""){
      wx.showToast({
        title: '账号不能为空',
        icon: 'error'
      })
    }else{
      if(this.data.register){
        if(this.data.password_temp!=this.data.accountData.password){
          if(this.data.accountData.password==""){
            wx.showToast({
              title: '请输入密码',
              icon: 'error'
            })
          }else if(this.data.password_temp==""){
            wx.showToast({
              title: '请确认密码',
              icon: 'error'
            })
          }else{
            wx.showToast({
              title: '密码不匹配',
              icon: 'error'
            })
            this.setData({
              password_temp:""
            })
          }
        }
        else if(this.data.accountData.accountNumber.length!=11){
          wx.showToast({
            title: '账号非11位数字',
            icon:'error'
          })
        }
        else{
          var add1=Math.floor(Math.random()*10)
          var add2=Math.floor(Math.random()*10)
          wx.showModal({
            title: '注册验证：'+add1+'+'+add2+'=',
            editable:true,
            placeholderText:'请输入计算结果',
            complete: (res) => {
              if (res.cancel) {
                
              }
          
              if (res.confirm) {
                console.log(res.content);
                if(res.content==add1+add2){
                  wx.request({
                    url: apiUrl+'/user/register',
                    method: 'POST',
                    header:{
                      'content-type':'application/json'
                    },
                    data:{
                      "userId":this.data.accountData.accountNumber,
                      "password":this.data.accountData.password
                    },
                    success:res=>{
                      console.log(res);
                      if(res.data.code=="20001"){
                        wx.showToast({
                          title: res.data.message,
                          icon: 'error'
                        })
                      }
                    if(res.data.code=="20000"){
                      wx.showToast({
                        title: res.data.message,
                        icon: res.data.data.access=="true"?'success':'error'
                      })
                      if(res.data.data.access=="true"){
                        this.setData({
                          register:false
                        })
                        this.backToLogin();
                      }
                    }
                    }
                  })
                }
                else{
                  wx.showModal({
                    title: '验证失败',
                    content: '输入结果有误',
                    showCancel:false,
                  })
                }
              }
            }
          })

        }
      }else{
        if(this.data.accountData.password==""){
          wx.showToast({
            title: '请输入密码',
            icon: 'error'
          })
        }else{
          wx.request({
            url: apiUrl+'/user/login',
            method: 'POST',
            header:{
              'content-type':'application/json'
            },
            data:{
              "userId":this.data.accountData.accountNumber,
              "password":this.data.accountData.password
            },
            success:res=>{
              this.setData({
                access:res.data.data.access,
                noHasThisAccount:res.data.data.noHasThisAccount
              });
              if(res.data.code==20001){
                if(this.data.noHasThisAccount=="true"){
                  wx.showModal({
                    title: res.data.message,
                    content: '是否前往注册？',
                    complete: (res) => {
                      if (res.cancel) {
                        this,this.setData({
                          accountData:{
                            accountNumber:"",
                            password:""
                          }
                        })
                      }
                      if (res.confirm) {
                        this,this.setData({
                          register:true,
                          accountData:{
                            accountNumber:this.data.accountData.accountNumber,
                            password:""
                          },
                        })
                        this.goToRegister()
                      }
                    }
                  })
                }else{
                  wx.showToast({
                    title: res.data.message,
                    icon: 'error'
                  })
                }
              }else if(res.data.code==20000){
                // console.log(res.data.data)
                userInfo.loginState=true;
                userInfo.avatarUrl=res.data.data.userInfo.avatarUrl;
                userInfo.userName=res.data.data.userInfo.nickname;
                userInfo.permission=res.data.data.userInfo.permission;
                accountData.accountNumber=this.data.accountData.accountNumber;
                accountData.password=this.data.accountData.password;
                accountData.id=res.data.data.userInfo.id;
                //储存token到缓存中
                wx.setStorageSync('token', res.data.data.token)
                app.globalData.userInfo=userInfo

                wx.navigateBack();
              }
            }
          })
        }
      }
    }
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})